<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 强制类型转换
        // 1.转换为number
        // 方式一：Number(变量)
        // var a=Number("12");
        // var a=Number("abc");
        // var a=Number("123abc");
        // var a=Number("abc123");
        // var a=Number("");//将空字符串转换为0
        var a=Number(true);//boolean值在内存中以数字来存储，true为1，false为0
        console.log(a);
        console.log(typeof a);

        //方式二:parseInt(变量)将内容转换成整数(接去掉小数),会从第一个字符开始解析，直到遇到非数字符号停止，并返回已解析的部分数值

        // var b=parseInt("789.567abc");
        // var b=parseInt("abc123");
        // var b=parseInt("123abc");
        // var b=parseInt("189.78");
        var b=parseInt(89.67);
        // var b=parseInt("");//NaN
        console.log(b);
        console.log(typeof b);

        //方式三：parseFloat(变量)将内容转换成小数,会从第一个字符开始解析，直到遇到非数字符号停止，并返回已解析的部分数值
        // var c=parseFloat("123.789abc");
        // var c=parseFloat("abc78.987");
        // var c=parseFloat("123");
        var c=parseFloat(123.897);
        console.log(c);

        //2.转换为string
        // 方式一：使用String(变量)
        // var d=String(78);
        var d=String(true);
        console.log(d);
        //方式二：使用变量.toString()
        var e=89;
        e=e.toString();
        console.log(e);

        // 3.转换为boolean
       /*  
       结论：
            0、undefined、NaN、null、""都会被转换为false
            非空字符串、非0数字会被转换为true 
       */
        // var f=Boolean(0);
        // var f=Boolean('aaa');
        var f=Boolean(123);
        console.log(f);

        // 自动类型转换(隐式转换)
        //转换为数值
        var aa="23";
        aa=aa*1;//*-/%
        console.log(aa);//number

        var dd="78";
        dd=+dd;//在变量的前面加上+
        console.log(dd);//number

        //转换为字符串
        var bb=89;
        bb=""+bb;
        console.log(bb);

        //转换为boolean
        var cc=89;
        console.log(!!cc);

        

    </script>
</head>
<body>
    
</body>
</html>